#include "tema1.h"
#include<iostream>
#include<math.h>
Punct::Punct(int a, int b)
{
   (*this).x=a;
   (*this).y=b;
}
Punct::Punct(){
(*this).x=0;
(*this).y=0;
}
int Punct:: getx()
{
   int n;
   n=(*this).x;
   return n;
}
int Punct:: gety()
{
   int m;
   m=(*this).y;
   return m;
}
void Punct::setx(int a)
{
   (*this).x=a;
}
void Punct::sety(int a)
{
   (*this).y=a;
}
Poligon::Poligon(int n)
{
   int i;
   double x,y;
   for(i=0;i<n;i++)
   {
	std::cin>>x;
	std::cin>>y;
	puncte[i]=Punct(x,y);
   }
}
int Poligon::nrPuncte()
{
   Punct p=Punct(0,0);
   int i;
   for(i=1;i<100 && this->puncte[i]!=this->puncte[0] && this->puncte[i]!=p;i++);
   return i;
}
bool Punct::operator!=(Punct p)
{
   if((*this).x!=p.getx() || (*this).y!=p.gety())
      return true;
   else 
      return false;
}
bool Punct::operator==(Punct p)
{
   if((*this).x==p.getx() && (*this).y==p.gety())
      return true;
   else return false;
}
bool Poligon::isPoligon()
{
   int k;
   k=(*this).nrPuncte();
   if((*this).puncte[0]==(*this).puncte[k-1])
	return true;
   else return false;
}

void Segment::setA(Punct A){
	(*this).A=A;
}
void Segment::setB(Punct B){
	(*this).B=B;
}
Punct Segment::getA(){
	return (*this).A;
}
Punct Segment::getB(){
	return (*this).B;
}
int Segment::calcul_Lung()
{
   float a,b;
   int s;
   a=pow((*this).getA().getx()-(*this).getB().getx(), 2.0);
   b=pow((*this).getA().gety()-(*this).getB().gety(), 2.0);
   s=sqrt(a+b);
   return s;
}
Segment::Segment(Punct pA, Punct pB)
{
   (*this).A=pA;
   (*this).B=pB;
}



